import { loginApi } from '@/api/user'
import { setToken, getToken, delToken } from '@/utils/storage'
const state = {
  token: getToken() || ''
}
const getters = {}
const mutations = {
  setToken (state, newToken) {
    state.token = newToken
    setToken(newToken)
  },
  removeToken (state) {
    state.token = ''
    delToken()
  }
}
const actions = {
  // async 修饰的方法 默认返回的就是一个promise
  // 方法内部返回结果会自动放到 promise的成功的结果中
  // await 后面如果跟的是一个错误的promise 那就不会往后执行了
  async loginActions (store, data) {
    const res = await loginApi(data)
    // console.log('res', res)
    store.commit('setToken', res.data.token)
    return res
  }
}

export default {
  namespaced: true,
  state,
  getters,
  mutations,
  actions
}
